//
//  ViewController.swift
//  TableView
//
//  Created by lanou on 16/11/7.
//  Copyright (c) 2016年 lanou. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
//        style: 枚举值用. (1)Group:分区之间有距离 (2)plain：分区之间无距离
        let tableView = UITableView(frame: view.bounds, style:.Plain )
        tableView.separatorColor = UIColor.redColor()
//        设置视图控制代理（负责视图操作）
        tableView.delegate = self
//       设置数据源代理（提供数据）
        tableView.dataSource = self
        view.addSubview(tableView)
//        给tableView注册cell，当有cell划出屏幕会单元格放到缓存池中，给定重用标识符
        tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }


}
//遵循多个协议可以采用逗号分隔

extension ViewController:UITableViewDelegate,UITableViewDataSource{
//    必须实现的两个方法   optional 可选的实现方法（不实现不会报错）
//    返回每个分区的行数
  func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    
        return 8
    }
//    返回每个单元格 UITableViewCell：单元格    NSIndexPath：存储该单元格是第几分区，第几行
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
/*        实例化单元格，每一个单元格对应一个cell，其中封装三个属性
        1.图片视图：imageLabel
        2.标题视图：textLabel 
        3.副标题视图detailLabel
*/
//        let cell = UITableViewCell(style: .Subtitle, reuseIdentifier: "cell")
//      不再重新创建，根据重用标识符到缓存池中查找有没有缓存，有则取出，无则创建
        let cell = tableView.dequeueReusableCellWithIdentifier("cell") as!UITableViewCell
        cell.textLabel?.text = "司机哥"
        cell.detailTextLabel?.text = "带带我"
        cell.imageView?.image = UIImage(named:"Icon.png")
        return cell
    }
}
/*
UITableViewCell的重用缓存池机制，尽可能少的cell显示所有数据
1.页面载入先注册
2.返回单元格时从缓存池中取出
*/

